Fluid simulation in games is quite common, e.g., liquid, smoke and fire effects. Typically fluid simulation effects are implemented as particle systems using a relatively simple equation of motion. Real-time fluid simulation offers a physics-based alternative to particle kinematics, where these effects can move and interact with the world in a much more realistic manner.
Conventionally, real-time fluid simulation techniques allocate and compute a fluid simulation across the full resolution of the grid. Unfortunately, a simulation across the full resolution of the grid is prone to suffer from the well-known “N-order” problem, where memory requirements and computational complexity become unmanageable at higher resolutions, even for modern GPUs.
It has been recognized that, especially in the case of a fluid simulation, not all of the samples collected using traditional approaches are necessary due to the sparse nature of fluid (i.e. the entire grid is rarely involved in the simulation). It is also recognized herein that by skipping over these unoccupied regions, an improved sparse volume simulation technique that enables high speed rendering of volumetric data at resolutions never computed before in real time may be realized.